'/org/freedesktop/login1/user/self');
this._proxy.connectSignal('PrepareForSleep',
this._prepareForSleep.bind(this));
+ this._proxy.connectSignal('SessionRemoved',
+ this._sessionRemoved.bind(this));
}
async getCurrentSessionProxy() {
}
}
+ getSession(objectPath) {
+ return new SystemdLoginSession(Gio.DBus.system, 'org.freedesktop.login1', objectPath);
+ }
+
suspend() {
this._proxy.SuspendAsync(true);
}
_prepareForSleep(proxy, sender, [aboutToSuspend]) {
this.emit('prepare-for-sleep', aboutToSuspend);
}
+
+ _sessionRemoved(proxy, sender, [sessionId]) {
+ this.emit('session-removed', sessionId);
+ }
}
class LoginManagerDummy extends Signals.EventEmitter {
return new Promise(resolve => resolve([]));
}
+ getSession(_objectPath) {
+ return null;
+ }
+
suspend() {
this.emit('prepare-for-sleep', true);
this.emit('prepare-for-sleep', false);